/**
 * 
 */
package cl.duocap.refaxion.view.bean;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import cl.duocap.refaxion.arquitectura.Jsf2Util;
import cl.duocap.refaxion.dto.TallerDTO;
import cl.duocap.refaxion.servicios.TallerService;

/**
 * @author NataliM
 * 
 */
@ManagedBean(name = "formTallerEditarBean")
@SessionScoped
public class FormTallerEditarBean implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private List<TallerDTO> listaTalleres;
	private TallerDTO tallerEditado;
	private String idTallerPorEditar;
	private int idTallerEditar;

	@ManagedProperty("#{jsf2Util}")
	private Jsf2Util jsf2Util;

	@PostConstruct
	public void iniciar() {

		if (FacesContext.getCurrentInstance().isPostback()) {
			return;
		}
		cargarTallerEditar();

	}


	private void cargarTallerEditar() {
		idTallerEditar = Integer.parseInt(jsf2Util.getParameter("idTaller"));
		TallerService taller = new TallerService();
		setTallerEditado(taller.cargarTallerEditar(idTallerEditar));

	}

	public String editarTaller() {

		SimpleDateFormat dateformatJava = new SimpleDateFormat("dd-MM-yyyy");
		tallerEditado.setFechaIngreso(dateformatJava.format(tallerEditado.getFechaIngresoTrans()));
		
		TallerService taller = new TallerService();
		tallerEditado.setIdTaller(tallerEditado.getIdTaller());
		if (taller.editarTaller(tallerEditado)) {
			return "mainTaller.xhtml?faces-redirect=true";

		} else {
			return "formTallerEditar.xhtml?faces-redirect=true";
		}
	}

	public void editListener() {
		FacesContext context = FacesContext.getCurrentInstance();
		context.addMessage(null, new FacesMessage("Informacion",
				"Se realizaron los cambios del Taller con exito."));
	}

	public FormTallerEditarBean() {

	}

	public List<TallerDTO> getListaTalleres() {
		return listaTalleres;
	}

	public void setListaTalleres(List<TallerDTO> listaTalleres) {
		this.listaTalleres = listaTalleres;
	}

	public TallerDTO getTallerEditado() {
		return tallerEditado;
	}

	public void setTallerEditado(TallerDTO tallerEditado) {
		this.tallerEditado = tallerEditado;
	}

	public String getIdTallerPorEditar() {
		return idTallerPorEditar;
	}

	public void setIdTallerPorEditar(String idTallerPorEditar) {
		this.idTallerPorEditar = idTallerPorEditar;
	}

	public int getIdTallerEditar() {
		return idTallerEditar;
	}

	public void setIdTallerEditar(int idTallerEditar) {
		this.idTallerEditar = idTallerEditar;
	}

	public Jsf2Util getJsf2Util() {
		return jsf2Util;
	}

	public void setJsf2Util(Jsf2Util jsf2Util) {
		this.jsf2Util = jsf2Util;
	}

}
